home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dpbequ.z / dpbequ
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDPPPPBBBBEEEEQQQQUUUU((((3333FFFF))))                                                          DDDDPPPPBBBBEEEEQQQQUUUU((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DPBEQU - compute row and column scalings intended to equilibrate a
  10.      symmetric positive definite band matrix A and reduce its condition number
  11.      (with respect to the two-norm)
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      SUBROUTINE DPBEQU( UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, INFO )
  15.  
  16.          CHARACTER      UPLO
  17.  
  18.          INTEGER        INFO, KD, LDAB, N
  19.  
  20.          DOUBLE         PRECISION AMAX, SCOND
  21.  
  22.          DOUBLE         PRECISION AB( LDAB, * ), S( * )
  23.  
  24. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  25.      DPBEQU computes row and column scalings intended to equilibrate a
  26.      symmetric positive definite band matrix A and reduce its condition number
  27.      (with respect to the two-norm).  S contains the scale factors, S(i) =
  28.      1/sqrt(A(i,i)), chosen so that the scaled matrix B with elements B(i,j) =
  29.      S(i)*A(i,j)*S(j) has ones on the diagonal.  This choice of S puts the
  30.      condition number of B within a factor N of the smallest possible
  31.      condition number over all possible diagonal scalings.
  32.  
  33.  
  34. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  35.      UPLO    (input) CHARACTER*1
  36.              = 'U':  Upper triangular of A is stored;
  37.              = 'L':  Lower triangular of A is stored.
  38.  
  39.      N       (input) INTEGER
  40.              The order of the matrix A.  N >= 0.
  41.  
  42.      KD      (input) INTEGER
  43.              The number of superdiagonals of the matrix A if UPLO = 'U', or
  44.              the number of subdiagonals if UPLO = 'L'.  KD >= 0.
  45.  
  46.      AB      (input) DOUBLE PRECISION array, dimension (LDAB,N)
  47.              The upper or lower triangle of the symmetric band matrix A,
  48.              stored in the first KD+1 rows of the array.  The j-th column of A
  49.              is stored in the j-th column of the array AB as follows:  if UPLO
  50.              = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j; if UPLO =
  51.              'L', AB(1+i-j,j)    = A(i,j) for j<=i<=min(n,j+kd).
  52.  
  53.      LDAB     (input) INTEGER
  54.               The leading dimension of the array A.  LDAB >= KD+1.
  55.  
  56.      S       (output) DOUBLE PRECISION array, dimension (N)
  57.              If INFO = 0, S contains the scale factors for A.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDPPPPBBBBEEEEQQQQUUUU((((3333FFFF))))                                                          DDDDPPPPBBBBEEEEQQQQUUUU((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      SCOND   (output) DOUBLE PRECISION
  75.              If INFO = 0, S contains the ratio of the smallest S(i) to the
  76.              largest S(i).  If SCOND >= 0.1 and AMAX is neither too large nor
  77.              too small, it is not worth scaling by S.
  78.  
  79.      AMAX    (output) DOUBLE PRECISION
  80.              Absolute value of largest matrix element.  If AMAX is very close
  81.              to overflow or very close to underflow, the matrix should be
  82.              scaled.
  83.  
  84.      INFO    (output) INTEGER
  85.              = 0:  successful exit
  86.              < 0:  if INFO = -i, the i-th argument had an illegal value.
  87.              > 0:  if INFO = i, the i-th diagonal element is nonpositive.
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.